package com.bw.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.service.GmallService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

//控制器中依赖注入正确
@RestController
public class Gmallcontroller {
//注入业务层
    @Autowired
    GmallService gmallService;
//饼图
    @RequestMapping("/drjer")
    public Object drjer(String nowDate){
        //获取数据库中的数据
        List<Map> list = gmallService.drjer(nowDate);
        //返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();

        jsonObject.put("status", 0);
        jsonObject.put("msg", "");
        JSONArray jsonArray = new JSONArray();
        for (Map map : list) {
            JSONObject jsonObject1 = new JSONObject();
            jsonObject1.put("name", map.get("name"));
            jsonObject1.put("value", map.get("zb"));
            jsonArray.add(jsonObject1);
        }
        jsonObject.put("data", jsonArray);
    return  jsonObject;
    }
//柱状图
    @RequestMapping("/ppjye")
    public Object ppjye(String nowDate){
        //获取数据库中的数据
        List<Map> list = gmallService.ppjye(nowDate);
        //返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status", 0);
        jsonObject.put("msg", "");
        JSONObject dataArray = new JSONObject();
        JSONArray catArray = new JSONArray();
        JSONArray serArray = new JSONArray();
        JSONObject catObject = new JSONObject();
        for (Map map : list) {
                catArray.add(map.get("name"));
        }
        catArray.add(catObject);
        dataArray.put("categories", catArray);
        dataArray.put("series", serArray);
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name", "品牌");
        JSONArray serDataArray = new JSONArray();
        for (Map map : list) {
            serDataArray.add(map.get("zzt"));
        }
        serArray.add(jsonObject1);
        serArray.add(serDataArray);
        jsonObject.put("data", dataArray);
        return jsonObject;
    }
//翻牌器
    @RequestMapping("/sumTotal")
    public Object sumTotal(String nowDate){
        //获取数据库中的数据
        List<Map> list = gmallService.sumTotal(nowDate);
        //返回大屏所需要的数据

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status", 0);
        jsonObject.put("msg", "");
        jsonObject.put("data",list.get(0).get("sumTotal"));
        return jsonObject;
    }

    //轮播图
    @RequestMapping("spufz")
    public Object spufz(String nowDate){
        //获取数据库中的数据
        List<Map> list = gmallService.spufz(nowDate);
        //返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status", 0);
        jsonObject.put("msg", "");
        JSONObject dataArray = new JSONObject();
        JSONArray colArray = new JSONArray();
        JSONArray rowArray = new JSONArray();
        dataArray.put("columns", colArray);
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name", "品牌");
        jsonObject1.put("id", "subsys");
        colArray.add(jsonObject1);
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name", "金额");
        jsonObject2.put("id", "module");
        colArray.add(jsonObject2);
        for (Map map : list) {
            JSONObject rowsObject = new JSONObject();
            rowsObject.put("subsys", map.get("name"));
            rowsObject.put("module", map.get("sum"));
            rowArray.add(rowsObject);
        }
        dataArray.put("rows", rowArray);
        jsonObject.put("data", dataArray);
        return jsonObject;
    }

}
